#encoding "utf-8"
#GRAMMAR_ROOT F

// описание человека
FIO -> AnyWord<kwtype="fio">;
FirstName -> Word<gram="persn", h-reg1>;
Patronymic -> Word<gram="patrn", h-reg1>;
FOA -> Word<kwtype="adress", gram = "sg">;
UW -> AnyWord<~fw,~dict, wff=/[A-Z][a-z]*[-–]*[Aa-Zz]+/>;
Anim -> Word<~fw, h-reg1,gram="S,anim,~patrn">;

SpName -> 'де' UW<rt>; // привязать к файлу с фамильными приставками
SpName -> 'де' Noun<gram="anim,sg",h-reg1, rt>; //странности фамилии
SPName -> FirstName SpName;

Adress -> FOA<nc-agr[1]> FirstName<nc-agr[1]> SpName;
Adress -> FOA<nc-agr[1]> FIO<nc-agr[1]>;
Adress -> FOA UW;
Adress -> FOA<nc-agr[1]> SpName<nc-agr[1]>;
//Adress -> Noun<gram="anim, sg", nc-agr[1]> FirstName<nc-agr[1]>;
//Adress -> Noun<gram="anim, sg", nc-agr[1]> FIO<nc-agr[1]>;
Adress -> FOA<gnc-agr[1]> Word<gnc-agr[1],h-reg1>;
Adress -> FOA Anim;


Name -> FirstName;
Name -> FirstName Patronymic;
A -> Word<h-reg1> Patronymic ;
Name -> AnyWord<gram=~"persn",l-reg> Patronymic interp (Fact.FPerson::not_norm);
Name -> FIO (Name);
Name -> Adress;
Name -> SpName;
//Name -> Anim;
//Name -> UW;
//Name -> Word <gram ="SPRO, sg, 1p">;

//F -> Name<gram="m, sg" > interp (Fact.Male::not_norm);
//F -> Name<gram="f, sg" > interp (Fact.Female::not_norm);
//F -> AnyWord<kwtype=~"hyph"> UW interp (Fact.FPerson::not_norm);
//F -> AnyWord<kwtype=~"hyph"> A interp (Fact.FPerson::not_norm);
F -> (Word<kwtype="pr"> interp (+Fact.FPerson)) UnknownPOS<h-reg1, ~fw> interp (Fact.FPerson::not_norm);
//F -> Name  UnknownPOS<h-reg1> interp (Fact.FPerson::not_norm);
//F -> Word<kwtype=~"pr"> Word<kwtype="unames", h-reg1> interp (Fact.FPerson::not_norm);

//F -> Word<gram = ~"PR"> Name<sp-agr[1], gram="m, sg" > interp (Fact.Male::not_norm) Verb<sp-agr[1]>;
//F -> Verb<sp-agr[1]> Name<sp-agr[1], gram="m,sg" > interp (Fact.Male::not_norm);
//F -> Word<gram = ~"PR"> Name<sp-agr[1], gram="f,sg" > interp (Fact.Female::not_norm) Verb<sp-agr[1]>;
//F -> Verb<sp-agr[1]> Name<sp-agr[1], gram="f,sg" > interp (Fact.Female::not_norm);

//F -> Name<kwtype = "name_subj"> interp (Fact.FPerson::not_norm);
//F -> AnyWord<kwtype = ~"hyph"> (FOA) UW interp (Fact.FPerson::not_norm);

